In the computer cloud world, applications may be distributed over several machines, making the topology of the machines that provide the service more difficult to track and monitor. Monitoring an application provides insight about application performances, bottlenecks, etc. While the application is distributed over several machines, in order to track the performance of the application, it is desirable to collect a huge amount of data that will impact both application performance and monitoring server performance in terms of resource usage (disk, memory, CPU).